Apparatus and method for adaptively de-interlacing image frame

ABSTRACT

An apparatus for adaptive de-interlace of a frame comprises a line-segment difference-value calculating module, a motion-vector calculating module, an intra-block calculating module, a trigger-value producing module, and an image processing module. The line-segment difference-value calculating module computes a difference value of a line segment within the frame. The motion-vector calculating module computes a motion vector of a macro block that is located in the frame and comprises the line segment. The intra-block calculating module computes the amount of intra blocks in the frame. The trigger-value producing module determines whether the amount of the intra blocks is larger than a first threshold or not, so as to select an algorithm for generating a trigger value. The image processing module determines whether the trigger value is larger than a second threshold or not and then selects a de-interlace algorithm for de-interlacing the line segment.

CROSS REFERENCE TO RELATED APPLICATIONS

This Non-provisional application claims priority under 35 U.S.C. §119(a) on Patent Application No(s). 093128779 filed in Taiwan, Republic of China on Sep. 22, 2004, the entire contents of which are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of Invention

The invention relates to an apparatus and a method for de-interlacing a frame and, in particular, to an apparatus and a method for adaptive de-interlace of a frame.

2. Related Art

According to the well-developed technology, the displaying quality of video media is greatly progressed. However, different image processing methods may affect the displaying quality while displaying the video media. The different processing methods are, for example, the interlace scan method and the progressive scan method.

An interlace scan frame is composed of two fields, wherein each field includes only the odd scan lines of the frame or the even scan lines of the frame. In the interlace scan frame, the resolution of each odd field and/or even field is only half of the original frame. The advantage of the interlace scan method is to smoothly display the dynamic image, and the disadvantage thereof is to cause the blurring in the displayed image. The scan speed of the progressive scan is twice of the interlace scan, so that the progressive scan can present fine and clear frames. As a result, the present advanced video apparatus adopts the progressive scan method for scanning and displaying.

Regarding to the scan standard of present analog televisions, the most popular standards includes the Television Standards Committee (NTSC) system and Phase Alternation by Line (PAL) system. The NTSC system adopts the interlace scan method, so that if the image of the NTSC system is displayed in a progressive scan display system, the displayed frame only includes the odd field or the even field resulting in the poor image resolution (only half of the original image resolution). Therefore, the display quality of the image is unsatisfied. In addition, if an interlace scan DVD image is directly displayed on a progressive scan display system, the above-mentioned problem also occurs. To solve the above-mentioned problem, the interlace scan image must be de-interlaced. In other words, the de-interlace process is a way for transforming the interlace scan image into the progressive scan image.

The de-interlace processes include two typical linear transform technologies, which are weave and bob de-interlace processes. Referring to FIG. 1A, the weave de-interlace process is to overlaid or weave two input fields (including an odd field and an even field) for generating a progressive frame. As shown in FIG. 1B, the bob de-interlace process is to accept only one input field, such as the even frame only, and to discard the other field, such as the odd frame. Thus, the resolution of the vertical direction of the frame is decreased to half of the original image. To recover the resolution of the image, two adjacent scan lines of the same field are used to compensate the scan line there between in the discarded field.

The weave de-interlace process has better effects for static images, but may have misalignment for the dynamic images, which results in the serrations at the edge of the frame and decreases the displaying qualities. The bob de-interlace process may overcome the misalignment problem to obtain clear and nature dynamic images. However, for the static images, the bob de-interlace process decreases the vertical resolution of the images and then compensates it by the interpolation method. Thus, the displayed frame becomes blurred and is not sharp.

It is therefore a subjective of the invention to provide an apparatus and a method for adaptive de-interlace of a frame, which can select the proper de-interlace algorithm according to the interlace scan frame to be processed, so as to employ the suitable de-interlace method to process the dynamic or static image. Thus, the displaying qualities can be enhanced.

SUMMARY OF THE INVENTION

In view of the foregoing, the invention is to provide an apparatus and a method for adaptive de-interlace of a frame.

To achieve the above, an apparatus for adaptive de-interlace a frame of the invention includes a line-segment difference-value calculating module, a motion-vector calculating module, an intra-block calculating module, a trigger-value producing module, and an image processing module. In the invention, the line-segment difference-value calculating module computes a difference value of a line segment within the frame. The motion-vector calculating module computes a motion vector of a macro block that is located in the frame and comprises the line segment. The intra-block calculating module computes the amount of intra blocks in the frame. The trigger-value producing module determines whether the amount of the intra blocks is larger than a first threshold or not. If so, the trigger-value producing module then generates a trigger value according to the difference value of the line segment; otherwise, if not, the trigger-value producing module then generates the trigger value according to the difference value of the line segment and the motion vector. The image processing module determines whether the trigger value is larger than a second threshold or not. If so, the image processing module de-interlaces the line segment according to a first de-interlace algorithm; otherwise, if not, the image processing module de-interlaces the line segment according to a second de-interlace algorithm.

In addition, the invention also discloses a method for adaptive de-interlace of a frame, comprising the following steps of: calculating a difference value of a line segment within the frame; calculating a motion vector of a macro block, which is located in the frame and comprises the line segment; calculating the amount of intra blocks in the frame; determining whether the amount of the intra blocks is larger than a first threshold or not; if the amount of the intra blocks is larger than the first threshold, generating a trigger value according to the difference value of the line segment; if the amount of the intra blocks is no larger than the first threshold, generating the trigger value according to the difference value of the line segment and the motion vector; determining whether the trigger value is larger than a second threshold or not; if the trigger value is larger than the second threshold, de-interlacing the line segment according to a first de-interlace algorithm; and if the trigger value is no larger than the second threshold, de-interlacing the line segment according to a second de-interlace algorithm.

As mentioned above, the apparatus for adaptive de-interlace of the frame has a trigger-value producing module and an image processing module, which can select the proper de-interlace algorithm, such as the bob or weave de-interlace algorithm, according to the difference value of the line segment, the motion vector and the amount of intra blocks. Therefore, the frame obtained according to the apparatus and method of the invention may have better display effects.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will become more fully understood from the detailed description given herein below illustration only, and thus is not limitative of the present invention, and wherein:

FIG. 1A is a schematic view showing the frame according to the weave de-interlace method;

FIG. 1B is a schematic view showing the frame according to the bob de-interlace method;

FIG. 2 is a schematic view showing an apparatus for adaptive de-interlace of a frame according to a preferred embodiment of the invention;

FIG. 3 is a flow chart showing a method for adaptive de-interlace of a frame according to a preferred embodiment of the invention; and

FIG. 4 is a schematic view showing output values of pixels in different fields of a present frame and a reference frame for illustrating the method for adaptive de-interlace a frame according to the embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will be apparent from the following detailed description, which proceeds with reference to the accompanying drawings, wherein the same references relate to the same elements.

With reference to FIG. 2, an apparatus 2 for adaptive de-interlace of a frame according to an embodiment of the invention includes a line-segment difference-value calculating module 21, a motion-vector calculating module 22, an intra-block calculating module 23, a trigger-value producing module 24, and an image processing module 25. Moreover, the apparatus 2 may include a video image buffer module 11 and an image output module 12, which are respectively for providing frames and outputting the de-interlaced image. The apparatus 2 may further include an image display module 13 for receiving and displaying the de-interlaced image outputted from the image output module 12. Of course, other equivalent modifications and changes familiar to those skilled in the art should be included in the scope of the invention. For example, the apparatus for adaptive de-interlace of the frame may include/exclude the image display module.

The line-segment difference-value calculating module 21 computes a difference value of a line segment within the frame. The motion-vector calculating module 22 computes a motion vector of a macro block that is located in the frame and comprises the line segment. The intra-block calculating module 23 computes the amount of intra blocks in the frame. The trigger-value producing module 24 determines whether the amount of the intra blocks is larger than a first threshold or not. If the amount of the intra blocks is larger than a first threshold, the trigger-value producing module 24 then generates a trigger value according to the difference value of the line segment; otherwise, if the amount of the intra blocks is no larger than a first threshold, the trigger-value producing module 24 then generates a trigger value according to the difference value of the line segment and the motion vector. The image processing module 25 determines whether the trigger value is larger than a second threshold or not. If the trigger value is larger than a second threshold, the image processing module 25 de-interlaces the line segment according to a first de-interlace algorithm; otherwise, if the trigger value is no larger than a second threshold, the image processing module 25 de-interlaces the line segment according to a second de-interlace algorithm. Wherein, the first de-interlace algorithm is a bob de-interlace algorithm, and the second de-interlace algorithm is a weave de-interlace algorithm.

A method for adaptive de-interlace of a frame according an embodiment of the invention will be described hereinafter with reference to FIGS. 3 and 4. To be noted, this method could be applied cooperating with the above-mentioned apparatus 2, so the following descriptions will include the same modules and corresponding reference numbers as previously illustrated.

The method for adaptive de-interlace of a frame according to an embodiment of the invention includes the following steps S01 to S12. In the step S01, a frame is read in from the video image buffer module 11. The frame can be a decoded MPEG decompressed image or comprise predicted frame (P frame) information including motion vectors.

After the line-segment difference-value calculating module receives the pixel data of the macro blocks in the reference frame and the present frame, the step S02 is to choose a line-segment width. Accordingly, in the scope of the micro block, each scan line can be divided into several line segments of the same width. Then, the difference value of the line segment can be obtained according to the comparison between characteristic values of two line segments, which are located at the same position of different frames.

The characteristic value (δ_(i,n,m)) of the line segment can be determined according to the sum of the absolute value of the difference between the output values of pixels at the relative positions of adjacent two scan lines in two fields, and can be calculated according to the following equation (1): $\begin{matrix} {\delta_{i,n,m} = {{{Dif}\left( {i\text{:}n\text{∷}m} \right)} = {\sum\limits_{k = 1}^{j}\quad{{{\text{Odd}(n){\_ LineSeg}(m){\_ Pix}(k)} - {\text{Even}\left( {n + 1} \right){\_ LineSeg}(m){\_ Pix}(k)}}}}}} & (1) \end{matrix}$ Wherein, i shows the present frame, n shows the number of the scan line in the frame, m shows the number of the line segment in the scan line, j shows the (adjustable) width of the line segment (unit: pixel), and k shows the position of the pixel in the line segment.

After computing the characteristic value (δ_(i,n,m)) of the line segment in the present frame and the characteristic value (δ_(i−1,n,m)) of the line segment in the reference frame, the absolute value of the difference there between is then calculated to obtain the difference value of the line segment, which can be calculated according to the following equation (2): Δ_(i,n,m)=|(δ_(i,n,m))−(δ_(i−1,n,m))|  (2)

The FIG. 4 shows output values of pixels in different fields of the present frame and reference frame. Assuming the width of each line segment includes 4 pixels, the four output values of the pixels of a first line segment in the odd field of the present frame should be (10, 64, 70, 83). The four output values of the pixels of a first line segment in the even field of the present frame should be (13, 40, 65, 70). According to the equation (1), the characteristic value of the first line segment in the present frame is 45 as shown in the following equation (3). In addition, the four output values of the pixels of a first line segment in the odd field of the reference frame should be (11, 10, 64, 70), and the four output values of the pixels of a first line segment in the even field of the reference frame should be (10, 13, 40, 65). According to the equation (1), the characteristic value of the first line segment in the reference frame is 33 as shown in the following equation (4). After obtaining the characteristic values, the difference value of the line segment can be computed according to the equation (2) and is 12 as shown in the following equation (5). δ_(i,n,m)=Σ|10−13|+|64−40|+|70−65|+|83−70|)=45  (3) δ_(i−1,n,m)=Σ(|11−10|+|10−13|+|64−40|+|70−65|)=33  (4) Δ_(i,n,m)=|(δ_(i,n,m))−(δ_(i−1,n,m))|=|45−33|=12  (5)

After the step S02 for computing the difference value of the line segment, the step S03 is then to use the motion-vector calculating module to retrieve the motion vector of the macro block, in which the processed line segment is located. Hence the motion vector presents the displacement between different fields of a certain block in the same time, it can be shown as a specific coordinate values. If the motion vectors of all blocks are read in one by one, the desired frame can be built. To be noted, the dimension of a block is usually composed of 8×8 pixels or 16×16 pixels, and, of course, it can be composed of other compositions of pixels. This can be adjusted according to the performance of the apparatus for performing the de-interlace process and the capacity of memory.

After retrieving the motion vector, the motion-vector calculating module computes the sum of a length of the X component of the motion vector and a length of the Y component of the motion vector, which is a right-angle length of the motion vector. For example, assuming the retrieved motion vector is (1,−32), that means the block has a positive displacement of 1 pixel in X-coordinate and a negative displacement of 32 pixels in Y-coordinate. Thus, the right-angle length of the motion vector is 33 as shown in the following equation (6): |1|+|−32|=33  (6)

In the step S04, the intra-block calculating module computes the amount of macro blocks marked as intra blocks within an entire frame. If one macro block is marked as an intra block, this marked macro block has no displacement. Thus, the image of this marked macro block (intra block) is not generated according to the motion vector and the reference block, but should be constructed according to the pixel information of the macro block directly. In other words, the more macro blocks are marked as the intra blocks in the frame, the less relationship is between the frame and the reference frame.

In the step S05, the trigger-value producing module then determines whether the amount of the intra blocks (calculated in the step S04) is larger than a first threshold or not. If so, the step S06 is consequently performed to generate a trigger value according to the difference value of the line segment. If not, the step S07 is consequently performed to generate the trigger value according to the difference value of the line segment and the motion vector.

In step S08, the image processing module determines whether the trigger value (produced in the step S06 or S07) is larger than a second threshold or not. If so, the step S09 is then performed to de-interlace the line segment of the present frame according to a first de-interlace algorithm, which is a bob de-interlace algorithm. If not, the step S10 is consequently performed to de-interlace the line segment of the present frame according to a second de-interlace algorithm, which is a weave de-interlace algorithm.

After that, the step S11 is to determine whether the entire frame has been processed or not. If any line segment and image are not processed yet, then the steps S02 to S10 are repeated again. Otherwise, if all line segment and image are already processed, the step S12 is then performed.

In the step S12, the de-interlace process is complete and ended, and the de-interlaced image can then be outputted to the image output module to construct an output image. Various kinds of display apparatuses can then display the output image.

To sum up, the apparatus for adaptive de-interlace of the frame has a trigger-value producing module and an image processing module, which can select the proper de-interlace algorithm, such as the bob or weave de-interlace algorithm, according to the difference value of the line segment, the motion vector and the amount of intra blocks. Therefore, the frame obtained according to the apparatus and method of the invention may have better display effects.

Although the invention has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as alternative embodiments, will be apparent to persons skilled in the art. It is, therefore, contemplated that the appended claims will cover all modifications that fall within the true scope of the invention. 

1. A method for adaptive de-interlace of a frame, comprising: calculating a difference value of a line segment within the frame; calculating a motion vector of a macro block in the frame comprising the line segment; calculating an amount of intra blocks in the frame; determining whether the amount of the intra blocks is larger than a first threshold or not; if the amount of the intra blocks is larger than the first threshold, generating a trigger value according to the difference value of the line segment; if the amount of the intra blocks is smaller than the first threshold, generating the trigger value according to the difference value of the line segment and the motion vector; determining whether the trigger value is larger than a second threshold or not; if the trigger value is larger than the second threshold, de-interlacing the line segment according to a first de-interlace algorithm; and if the trigger value is smaller than the second threshold, de-interlacing the line segment according to a second de-interlace algorithm.
 2. The method of claim 1, wherein the difference value of the line segment is the difference between a characteristic value of a line segment in a present frame and a characteristic value of a line segment in a reference frame.
 3. The method of claim 1, wherein the motion vector comprises a right-angle length of the motion vector, which is the sum of a length of the X component of the motion vector and a length of the Y component of the motion vector.
 4. The method of claim 1, wherein the amount of the intra blocks is an amount of the macro blocks in the frame marked as intra blocks.
 5. The method of claim 1, wherein the frame comprises an MPEG decompressed image.
 6. The method of claim 1, wherein the frame comprises predicted frame (P frame) information.
 7. The method of claim 6, wherein the P frame information comprises the motion vector.
 8. The method of claim 1, wherein the first de-interlace algorithm is a bob de-interlace algorithm.
 9. The method of claim 1, wherein the second de-interlace algorithm is a weave de-interlace algorithm.
 10. The method of claim 1, further comprising: outputting an output image consisting of the de-interlaced line segment.
 11. An apparatus for adaptive de-interlace of a frame, comprising: a line-segment difference-value calculating module, which computes a difference value of a line segment within the frame; a motion-vector calculating module, which computes a motion vector of a macro block in the frame comprising the line segment; an intra-block calculating module, which computes an amount of intra blocks in the frame; a trigger-value producing module, which determines whether the amount of the intra blocks is larger than a first threshold or not, wherein if so, the trigger-value producing module generates a trigger value according to the difference value of the line segment, and if not, the trigger-value producing module generates the trigger value according to the difference value of the line segment and the motion vector; and an image processing module, which determines whether the trigger value is larger than a second threshold or not, wherein if so, the image processing module de-interlaces the line segment according to a first de-interlace algorithm, and if not, the image processing module de-interlaces the line segment according to a second de-interlace algorithm.
 12. The apparatus of claim 11, wherein the line-segment difference-value calculating module obtains the difference value of the line segment according to a difference between a characteristic value of a line segment in a present frame and a characteristic value of a line segment in a reference frame.
 13. The apparatus of claim 11, wherein the motion vector comprises a right-angle length of the motion vector, which is the sum of a length of the X component of the motion vector and a length of the Y component of the motion vector.
 14. The apparatus of claim 11, wherein the amount of the intra blocks is the amount of the macro blocks in the frame marked as intra blocks.
 15. The apparatus of claim 11, wherein the frame comprises an MPEG decompressed image.
 16. The apparatus of claim 11, wherein the frame comprises P frame information.
 17. The apparatus of claim 16, wherein the P frame information comprises the motion vector.
 18. The apparatus of claim 11, wherein the first de-interlace algorithm is a bob de-interlace algorithm, and the second de-interlace algorithm is a weave de-interlace algorithm.
 19. The apparatus of claim 1, further comprising: an image output module, which outputs an output image consisting of the de-interlaced line segment.
 20. The apparatus of claim 19, further comprising: an image display module, which displays the output image. 